Skip to content

fix(web): clarify terminal sidebar grouping - #7967

Open
StiensWout wants to merge 5 commits into
pingdotgg:mainfrom
StiensWout:t3code/fix-terminal-group-spacing
Open

fix(web): clarify terminal sidebar grouping#7967
StiensWout wants to merge 5 commits into
pingdotgg:mainfrom
StiensWout:t3code/fix-terminal-group-spacing

Conversation

@StiensWout

@StiensWout StiensWout commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

The terminal sidebar did not read like the rest of the panel navigation. Terminal rows used a separate tree treatment, and uppercase GROUP 1 labels did not explain what each section represented.

This aligns terminal rows with the right-panel tabs and names each section after its layout: Single, Side by side, or Stacked. Matching layout icons and terminal counts make the structure visible without exposing the internal group name. Both tab strips share the same identity-to-close control, and the 2px gap within each section remains unchanged.

Before

Terminal sidebar before

After

Terminal sidebar with layout-aware section labels and Terminal 1 hovered

Verification

  • pnpm exec vp fmt --check apps/web/src/components/ui/panel-tab-close-button.tsx apps/web/src/components/RightPanelTabs.tsx apps/web/src/components/ThreadTerminalDrawer.tsx
  • pnpm exec vp lint apps/web/src/components/ui/panel-tab-close-button.tsx apps/web/src/components/RightPanelTabs.tsx apps/web/src/components/ThreadTerminalDrawer.tsx
  • pnpm --filter @t3tools/web typecheck
  • pnpm exec vp test run apps/web/src/components/RightPanelTabs.test.tsx apps/web/src/components/ThreadTerminalDrawer.test.ts
  • Playwright: verified Single, Side by side, and Stacked states; pointer cursors; both tab strips' identity-to-close swap; the terminal close tooltip; inactive-row hover background; 24px rows; and no horizontal overflow

Made with gpt-5.6-sol in T3 Code through the Codex harness.

Note

Clarify terminal sidebar grouping with shared PanelTabCloseButton and group header labels

  • Adds a reusable PanelTabCloseButton component that shows an identity icon by default and swaps to an X on hover/focus, with optional tooltip support
  • Replaces inline close buttons in RightPanelTabs with the shared component, rendering SurfaceIcon as tab identity
  • Reworks terminal rows in ThreadTerminalDrawer to use PanelTabCloseButton with TerminalSquare identity and a close tooltip, removing the prior Popover-based close affordance
  • Updates terminal group headers to show an icon (Square, SquareSplitVertical, or SquareSplitHorizontal), a semantic label (Single/Stacked/Side by side), and a terminal count badge instead of a numeric index
  • Behavioral Change: terminal rows drop the previous left-border indentation in favor of a uniform flex column layout; the close control is now always present rather than revealed via Popover

Macroscope summarized 269eba5.


Note

Low Risk
UI-only sidebar/tab styling with no auth, data, or terminal session logic changes. Close is still gated by the existing confirm dialog.

Overview
Makes the terminal sidebar read like the rest of the panel tabs: groups are labeled by layout (Single, Side by side, Stacked) with matching icons and a count, instead of numbered GROUP N headers and tree-branch indentation.

Extracts the hover/focus identity-to-X close control into PanelTabCloseButton and uses it on both right-panel tabs and terminal rows. Terminal close is always available (not only when multiple terminals exist).

Reviewed by Cursor Bugbot for commit 269eba5. Bugbot is set up for automated code reviews on this repo. Configure here.

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d6e8f154-6d08-4944-9c9f-084eb801191f

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Aug 23, 2026
@macroscopeapp

macroscopeapp Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 269eba5

Macroscope's review found this PR approvable — This is a localized web UI clarification that makes terminal groups easier to understand and shares an existing close-control pattern across tab strips. Existing activation and terminal-close callbacks remain intact, with no changes to session logic, data contracts, or production infrastructure.

You can add or adjust custom eligibility rules. Learn more.

@StiensWout
StiensWout force-pushed the t3code/fix-terminal-group-spacing branch from 32515bc to 1da0e0e Compare August 23, 2026 09:09
@StiensWout StiensWout changed the title fix(web): space grouped terminal rows fix(web): align terminal sidebar tabs with right panel Aug 23, 2026
@github-actions github-actions Bot added size:M 30-99 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels Aug 23, 2026
@StiensWout
StiensWout force-pushed the t3code/fix-terminal-group-spacing branch from 1da0e0e to 471ce80 Compare August 24, 2026 06:12
@StiensWout StiensWout changed the title fix(web): align terminal sidebar tabs with right panel fix(web): clarify terminal sidebar grouping Aug 24, 2026

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One consistency finding: the tab row and hover/focus icon-swap close button are copied verbatim from RightPanelTabs, creating a second call site for the same durable geometry and interaction contract without a shared primitive. Details inline.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/ThreadTerminalDrawer.tsx Outdated
@github-actions github-actions Bot added size:L 100-499 changed lines (additions + deletions). and removed size:M 30-99 changed lines (additions + deletions). labels Aug 24, 2026

@macroscopeapp macroscopeapp Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the shared PanelTabCloseButton extraction and both call sites. The extraction itself is faithful for RightPanelTabs (row shell, group/tab scope, pending dot placement, and close handler are unchanged), and it resolves the duplication flagged on the previous revision. Two smaller consistency points remain in the terminal sidebar migration.

Posted via Macroscope — UI Consistency

Comment thread apps/web/src/components/ThreadTerminalDrawer.tsx Outdated
Comment thread apps/web/src/components/ThreadTerminalDrawer.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant